using System.Collections.Generic;
using Mindscape.BackgroundMotion.Model;

namespace Mindscape.BackgroundMotion.Website.Infrastructure
{
  /// <summary>
  /// The contract which defines a search result in the system
  /// </summary>
  public interface ISearchResult
  {
    /// <summary>
    /// The collection of Contributions found by the search
    /// </summary>
    IList<Contribution> Contributions { get; set; }

    /// <summary>
    /// The total number of results
    /// </summary>
    int TotalResults { get; set; }

    /// <summary>
    /// The page number which this search result is spanning
    /// </summary>
    int PageNumber { get; set; }

    /// <summary>
    /// The total number of pages which the search results span over
    /// </summary>
    int Pages { get; }

    /// <summary>
    /// The number of results per page
    /// </summary>
    int PageSize { get; set; }
  }
}
